//此题因为元素过多，所以必须使用哈希表对其进行处理
//约数个数： (c1 + 1) * (c2 + 1) * ... * (ck + 1)
#include <iostream>
#include <unordered_map>
using namespace std;

typedef pair<int, int> PII;

const int mod = 1e9 + 7;

unordered_map<int, int> prime; //用来存储质数以及其对应出现次数的哈希表
int n, m;                      //获取输入
long long ans = 1;

int main()
{
    cin >> m;
    while (m--)
    {
        cin >> n;
        for (int i = 2; i <= n / i; ++i) //因为n最多存在一个大于sqrt(n)的质因数
            while (n % i == 0)
                prime[i]++, n /= i;
        if (n > 1)
            prime[n]++;
    }
    for (auto i : prime)
        ans = ans * (i.second + 1) % mod;
    cout << ans;
}